package thread;

/**
 * @author 老安
 * @data 2022/6/23 19:46
 * 线程的优先级
 * 线程有10个优先级,分别对应整数1-10,其中1是最低的优先级,10为最高级的优先级,5是默认值
 * 线程start执行后,会被纳入到线程调度器中,统一管理,此时线程只能被动等待被分配时间片,线程不能主动的索取时间片,调度器会尽可能的均匀的分配时间片
 * 但是优先级在多核心的前提下,是不作数了
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread(){
            public void run() {
                for (int i = 0; i < 10000; i++) {
                    System.out.println("皇帝来找min啦");
                }
            }
        };
        Thread norm = new Thread(){
            public void run() {
                for (int i = 0; i < 10000; i++) {
                    System.out.println("皇帝来找norm啦");
                }
            }
        };
        Thread max = new Thread(){
            public void run() {
                for (int i = 0; i < 10000; i++) {
                    System.out.println("皇帝来找max啦");
                }
            }
        };
        //min.setPriority(1);
        min.setPriority(Thread.MIN_PRIORITY);
        max.setPriority(10);
        min.start();
        norm.start();
        max.start();
    }
}
